#include "defs.h"

#ifndef SISTEMAS
#define SISTEMAS

void invertirTriangSup(Matriz& A, Matriz& res, int n); 
void invertirTriangInf(Matriz& A, Matriz& res, int n);
void matrizPorVector(Matriz &A, Vector &x, Vector& res, int n);
void matrizPorDiagonal(Matriz& A, Vector &d, Vector& res, int n);
void diagonalPorMatriz(Vector& d, Matriz& A, Vector& res, int n);
void gramSchmidt(Matriz& A, Matriz& R, Matriz& Q, int n);
bool descomposicionPLU(Matriz& A, Vector& Pi, Matriz& res, int n); 
void backwardSubs(Matriz& L, Vector& Pi, Vector& b, Vector& x, int n);
void forwardSubs(Matriz& U, Vector& Pi, Vector& b, Vector& x, int n);
void Hilbert(Matriz& A, int n);
void matrizInicial(Matriz& A, Matriz& hil, Vector& pos, Vector& x, int n);
void solvePLU(Matriz& M, Vector& d, Vector& aproximacion, int n);
void solvePLUPivEsc(Matriz& M, Vector& d, Vector& aproximacion, int n);
void solveQR(Matriz& M, Vector& d, Vector& aproximacion, int n);
void buscarMatriz(Matriz& matriz, Matriz& hil, Vector& aproximacion, Vector& x, int n);

#endif
